#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int min3(int a, int b,int c)
{

	if (a < b)
	{
		if (a < c)
		{
			return a;
		}
		else
		{
			return c;
		}
	}
	else
	{
		if (b > c)
		{
			return c;
		}
		else
		{
			return b;
		}
	}
}
void maopao(vector<int>&A,int k)
{
	for (int j = 0; j < k+1; j++)
	{
		for (int i = 0; i < A.size() -1-j; i++)
		{
			min(A[i], A[i + 1]);
		}
	}
}
int F1(int x)
{
	return x - 1;
}
int F2(int x)
{
	if (x % 2 == 0)
	{
		return x / 2;
	}
	else
	{
		return x;
	}
}
int F3(int x)
{
	if (x % 3 == 0)
	{
		return x / 3;
	}
	else
	{
		return x;
	}
}
int FF(int x,int&j)
{
	if (x == 0)
	{
		return 0;
	}
	else
	{
		j++;
		//cout << x << endl;
		return FF(min3(abs(F1(x)-0), abs(F2(x) - 0), abs(F3(x) - 0)),j);
	}
}

int main() {
	//vector<vector<int>>V;
	
	int m, n, i, j,re,x;

	cin >> n;
	vector<int>A;
	for (i = 0; i < n; i++)
	{
		cin >> m;
		m++;
		for (j = 0; j < m; j++)
		{
			re = 0;
			FF(j, re);
			//与A[j]=min(re,A[j-2])
			A.push_back(re);
		}
		for (j = 0; j < m; j++)
		{
			cout << A[j] << " ";
		}
	}

}
